<script>
	import {GYZJMODEL as gyzjModel}from './utils/gyzjModel.js'
    export default {
       /* onLaunch: function() {
            console.log('App Launch');
            // #ifdef APP-PLUS
            // 锁定屏幕方向
            plus.screen.lockOrientation('portrait-primary'); //锁定
            // 检测升级
            uni.request({
                url: 'https://uniapp.dcloud.io/update', //检查更新的服务器地址
                data: {
                    appid: plus.runtime.appid,
                    version: plus.runtime.version,
                    imei: plus.device.imei
                },
                success: (res) => {
                    console.log('success', res);
                    if (res.statusCode == 200 && res.data.isUpdate) {
                        let openUrl = plus.os.name === 'iOS' ? res.data.iOS : res.data.Android;
                        // 提醒用户更新
                        uni.showModal({
                            title: '更新提示',
                            content: res.data.note ? res.data.note : '是否选择更新',
                            success: (showResult) => {
                                if (showResult.confirm) {
                                    plus.runtime.openURL(openUrl);
                                }
                            }
                        })
                    }
                }
            })

            var domModule = weex.requireModule('dom');
            domModule.addRule('fontFace', {
                'fontFamily': "uniicons",
                'src': "url('./static/uni.ttf')"
            });
            // #endif
        }, */
       globalData:{
       			userInfo: null,
       			token: null,
       			path: '',
       			scene:null,
       			query:'',  //分享时带的参数
       			merchantToken:null,
				mobile:null,//用户手机号码
				inviteCode:"",  //用戶分享的code
       		},
       		onLaunch: function(options) {
				let property={};
				console.log('对象定义属性的开始');
				property.name='cover';
				property['name']='cover1';
				Object.defineProperty(property,'name',{value:'cover2',configurable:false});
				console.log('property的值',property);
				console.log('对象定义属性的结束');
				/*更新app的方法*/
				// #ifdef APP-PLUS
					var server='https://www.example.com/update';  //检查更新地址
					var req={  //升级检测数据
						"appid":plus.runtime.appid,
						"version":plus.runtime.version
					};
					uni.request({
						url:server,
						data:req,
						success:(res)=>{
							if(res.statusCode==200&&res.data.status==1){
								console.log('app执行了更新');
								uni.showModal({
									title:'更新提示',
									content:res.data.note,
									success:(res)=>{
										if(res.confirm){
											plus.runtime.openURL(res.data.url);
										}
									}
								})
							}
						}
					})
				// #endif
       			console.log('options的App值',options);
       			// uni.showLoading({
       			// 	title:'加载中....'
       			// })
       			let globalData=this.$options.globalData;
				console.log('app.vue进来打印所有的globalData的值',globalData);
       			globalData.path=options.path;
       			globalData.query=options.query;
       			globalData.scene=options.scene; 
				var that=this;
				if(!uni.getStorageSync('mobile')){
					if(!uni.getStorageSync('token')){
						console.log('没有token进来');
						globalData.mobile='0739'; 
					}else{
						console.log('执行了重新获取数据方法');
						/*如果有token的话需要实时得到token更新userInfo避免数据丢失*/
						that.main_login().then(res=>{
							let token=encodeURIComponent(res.data.token);
							globalData.token=token;
							/*不能在重新获取用户信息*/
							// this.main_getUserInfo(token,1).then(res=>{
							// 	console.log('执行了重新获取数据用户的值',res.data.user);
							// 	globalData.userInfo=res.data.user;
							// });
						})
					}
				}
       			
       			var token=null;
       			/*省略小程序更新代码*/
       			console.log('值的开始');
       			// this.login().then((res)=>{
       			// 	console.log('a1then的执行a',res);
       			// 	token=encodeURIComponent(res.data.token);
       			// 	globalData.token=token;
       			// 	uni.setStorageSync('token',token);
       			// 	this.getOurUserInfo(token);
       			// 	return this.getUserInfo();
       			// 	uni.hideLoading();
       			// }).then((res)=>{
       			// 	console.log('2then的执行',res);
       			// 	// let userInfo=res.userInfo;
       			// 	// delete userInfo.language;
       			// 	// return this.updataUserInfo(res.userInfo,this.token);
       			// }).then(()=>{
       			// 	
       			// }).catch((error)=>{
       			// 	console.log('执行App.vue onlaunch中的promise时，出现了错误');
       			// 	console.log(error);
       			// })
				/*通过手机号获取用户信息*/
				this.getUserInfo();
       		},
			/*发送数据的一些方式*/
			onUniNViewMessage:function(e){
			  console.log("App.vue收到数据")
			  console.log(JSON.stringify(e.data))  
			},
       		methods:{
     //   			login:function(){
					// var it=this;
					// var  getAppid = plus.runtime.appid;
					// console.log('it',it);
					// console.log('getAppid',getAppid);
     //   				return new Promise((resolve,reject)=>{
     //   					uni.login({
					// 		provider: 'weixin',  
     //   						success:res=>{
					// 			console.log(JSON.stringify(res))
     //   							console.log('res:',res);
					// 			console.log('res-code',res.code);
     //   							let data={
     //   								code:res.code,
     //   							};
     //   							const resolveData=gyzjModel.prototype.userLogin(data);
     //   							console.log('resolveData',resolveData);
     //   							resolve(resolveData);
     //   						}
     //   					})
     //   				})
     //   			},
       			//微信获取服务器个人信息
       		  getOurUserInfo: function(token) {
       			console.log('获取个人信息11111111111111');
       			var that=this;
       			return new Promise((resolve, reject) => {
					
       			  gyzjModel.prototype.getUserInfo(token).then(res => {
       				console.log('获取个人信息');
       				uni.hideLoading();
       				// resolve(res);
       				let globalData=this.$options.globalData;
       				globalData.userInfo = res.data.user;
       				uni.setStorageSync("userInfo", res.data.user);
       				// this.isDefineRole(res.data.user.role)
       				// 由于 getUserInfo 是网络请求，可能会在 Page.onLoad 之后才返回
       				// 所以此处加入 callback 以防止这种情况
       				// if (this.userInfoReadyCallback) {
       				//   this.userInfoReadyCallback(res)
       				// }
       				// if(!res.data.user.nickName){
       				// 	that.jump;
       				// }
       				uni.hideLoading();
       			  })
       			})
       		  },
       		 /*通过微信获取个人信息*/
       		 getUserInfo:function(){
       		 	console.log('用户信息getUserInfo');
       		 	var that=this;
       		 	return new Promise((resolve,reject)=>{
       				var globalData=this.$options.globalData;
					console.log('globalData的值',globalData);
					var arr=that.main_getGlobal();
					console.log('arr的值',arr);
					let sync_mobile=uni.getStorageSync('mobile');
					//这里不管用户下次缓存
					if(sync_mobile){
						console.log('手机号sync_mobile的执行',sync_mobile);
						gyzjModel.prototype.getUserInfo(sync_mobile,2).then(data=>{
							console.log('手机号用户信息sync_mobile',data);
							globalData.userInfo=data.data.user;
							//进来老用户进来设置手机号码，是用来判断老用户登录方式的凭证
							globalData.mobile=data.data.user.mobile;
							uni.setStorageSync("userInfo", data.data.user);
						})
					}else{
						console.log('无手机号sync_mobile的执行');
						gyzjModel.prototype.getUserInfo(arr.token,arr.type).then(data=>{
							console.log('无手机号sync_mobile',data.data.user);
							globalData.userInfo=data.data.user;
							uni.setStorageSync("userInfo", data.data.user);
						})
					}
					
       		 	})
       		 },
			 //登录
			 login() {
			 	// 1.wx获取登录用户code
			 	return new Promise((resolve,reject)=>{
			 		uni.login({
			 			provider: 'weixin',
			 			success: function(loginRes) {
			 				console.log('微信登录aa');
			 				let postData={
			 					code:loginRes.code,
			 					inviteCode:'',
			 				}
			 				resolve(gyzjModel.prototype.userLogin(postData));
			 			},
			 		});
			 	})
			 },
       		 /*jump函数判断登录*/
       		 jump:function(){
       		 	console.log('jump的执行a');
       		 	uni.reLaunch({
       		 		url:'/pages/start-up/start-up'
       		 	})
       		 },
       		 /*更新服务器用户信息*/
       		 updataUserInfo:function(postData,token){
       		 	gyzjModel.prototype.updataUserInfo(postData,token).then(res=>{
       		 		uni.hideLoading();
       		 	})
       		 },
       		},
       		onShow: function() {
       			console.log('App Show')
       		},
       		onHide: function() {
       			console.log('App Hide')
       		}
    }
</script>

<style>
/* @import url("/components/gaoyia-parse/parse.css"); */
</style>
